import { IButtonMenu, IDomEditor } from "@wangeditor/editor";

class PreviewMenu implements IButtonMenu {
  title: string;
  tag: string;
  alwaysEnable: boolean;
  constructor() {
    this.title = "预览"; // 自定义菜单标题
    // this.iconSvg = '<svg>...</svg>' // 可选
    this.tag = "button";
    this.alwaysEnable = true;
  }

  // 获取菜单执行时的 value ，用不到则返回空 字符串或 false
  getValue(): string | boolean {
    // TS 语法
    // getValue(editor) {                              // JS 语法
    return " hello ";
  }

  // 菜单是否需要激活（如选中加粗文本，“加粗”菜单会激活），用不到则返回 false
  isActive(): boolean {
    // TS 语法
    // isActive(editor) {                    // JS 语法
    return false;
  }

  // 菜单是否需要禁用（如选中 H1 ，“引用”菜单被禁用），用不到则返回 false
  isDisabled(): boolean {
    return false;
  }

  // 点击菜单时触发的函数
  exec(editor: IDomEditor, value: string | boolean) {
    editor.emit("preview");
    console.log(value);
  }
}

const previewMenu = {
  key: "preview", // 定义 menu key ：要保证唯一、不重复（重要）
  factory() {
    return new PreviewMenu(); // 把 `YourMenuClass` 替换为你菜单的 class
  }
};

export default previewMenu;
